Skip to main content
Version: Next

Email Algorithm

Replaces an email address with an email address for the domain @example.com. The user-part (before the @) is replaced with name generated using a first name or initial and a last name with a possible 3-4 digit number (example: msmith1234@example.com).

Algorithm Characteristics

  • Algorithm: Email
  • Masking Technique: Anonymization
  • Supported Types: String
  • Referential Integrity: true
  • Conflict-free: false
  • Realistic Data: true
  • Reversible: false

Properties

  • domains { string[]; optional; default: [ "example.com", "example.org" ] }
    The list of domain names used when generating a masked email address.
    Example: "domains": [ "example.com", "example.net", "example.ord" ]

  • useInputCase { boolean; optional; default: false }
    If true then the case of the email address being masked is used when selecting the record from the csv file to use to generate the email username. This means that 2 email addresses that differ only in the case used in the username or domain will result in different masked email values.
    Example: "useInputCase": true

  • csvFile { string; optional; default: "obfusware/maskingdata/us-addresses.csv" }
    The name of the resource csv file which contains the replacement records used to generate the masked email username.
    Example: "csvFile": "custom/maskingdata/email-names.csv"

  • indexList { int[]; optional; default: [ 0, 1 ] } The list of field indexes used to select the fields from the csvFile to generate the email username (firstname_index = list[0], lastname_index = list[1]).
    Example: "indexList": [ 0, 1 ]

Example JSON configuration

{
"name": "ExampleEmailMasker",
"description": "Replaces an email address with an email address for the domain '@example.com' or `example.org`.",
"algorithm": "Email",
"domains": [ "example.com", "example.org" ],
"csvFile": "custom/maskingdata/email-names.csv",
"indexList": [ 0, 1 ]
}

Default Maskers based on the Email Algorithm

  1. EmailMasker